home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / procssng / alv.sun / alv.lha / src / ras2im.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-11-08  |  1.3 KB  |  60 lines

  1. #include <stdio.h>
  2. #include "defs.h"
  3.  
  4. har           *progname;
  5. har           *filename;
  6. ixrect        *pr;
  7.  
  8. #ifdef STANDALONE
  9. ain(argc, argv, envp)
  10. #else
  11. as2im_main(argc, argv, envp)
  12. #endif
  13.     int             argc;
  14.     char          **argv;
  15.     char          **envp;
  16. {
  17.     register int    i, j;
  18.     char            title[252];
  19.  
  20.     for (i = 0; i < 252; i++)
  21.         title[i] = '\0';
  22.  
  23.     progname = strsave(argv[0]);
  24.     parse_profile(&argc, argv, envp);
  25.     strcpy(title, "stdin");
  26.  
  27.     while ((gc = getopt(argc, argv, " ")) != EOF)
  28.         switch (gc) {
  29.         case '?':
  30.             errflag++;
  31.             break;
  32.         }
  33.  
  34.     if (errflag)
  35.         error((char *) 0, "Usage: %s: [infile] [outfile]\n", progname);
  36.  
  37.     for (stream = 0; optind < argc; stream++, optind++)
  38.         if (stream < 2 && strcmp(argv[optind], "-") != 0) {
  39.             if (freopen(argv[optind], mode[stream], f[stream]) == NULL)
  40.                 error("%s %s", PR_IO_ERR_INFILE, argv[optind]);
  41.             if (stream == 1)
  42.                 strcpy(title, argv[optind]);
  43.             }
  44.  
  45.     if ((pr = pr_load(stdin, NULL)) == NULL)
  46.         error(PR_IO_ERR_RASREAD);
  47.  
  48.     if (pr->pr_depth != 8)
  49.         error("old ALV image format files must be 8 bits deep");
  50.  
  51.     putw(pr->pr_size.x << 16 | pr->pr_size.y, stdout);
  52.  
  53.     for (i = 0; i < 252; i++)
  54.         putc(title[i], stdout);
  55.  
  56.     for (j = 0; j < pr->pr_size.y; j++)
  57.         for (i = 0; i < pr->pr_size.x; i++)
  58.             putc(pr_get(pr, i, j), stdout);
  59. }
  60.